1
Leçon 3 : Introduction à la classification non linéaire
EvoClass-AI002Lecture 3
00:00

Nous dépassons les limites des modèles linéaires, qui peinent à classer les données non séparables par une droite. Aujourd'hui, nous appliquons le flux de travail PyTorch pour construire un réseau de neurones profond (DNN) capable d'apprendre frontières de décision complexes et non linéaires essentielles pour les tâches de classification du monde réel.

1. Visualisation de la nécessité des données non linéaires

Notre première étape consiste à créer un jeu de données synthétiques exigeant, comme la distribution en deux lunes, afin de montrer visuellement pourquoi les modèles linéaires simples échouent. Ce cadre nous oblige à utiliser des architectures profondes pour approximer la courbe complexe nécessaire séparant les classes.

Propriétés des données

  • Structure des données : Caractéristiques de données synthétiques (par exemple, $1000 \times 2$ pour $1000$ échantillons avec 2 caractéristiques).
  • Type de sortie : Une valeur de probabilité unique, souvent torch.float32, représentant l'appartenance à une classe.
  • Objectif : Créer une frontière de décision incurvée grâce au calcul en couches.
La puissance des activations non linéaires
Le principe fondamental des DNN est l'introduction de non-linéarité dans les couches cachées à travers des fonctions comme ReLU. Sans ces fonctions, empiler des couches ne produirait qu'un grand modèle linéaire, quelle que soit la profondeur.
data_setup.py
TERMINALbash — classification-env
> Ready. Click "Run" to execute.
>
TENSOR INSPECTOR Live

Run code to inspect active tensors
Question 1
What is the primary purpose of the ReLU activation function in a hidden layer?
Introduce non-linearity so deep architectures can model curves
Speed up matrix multiplication
Ensure the output remains between 0 and 1
Normalize the layer output to a mean of zero
Question 2
Which activation function is required in the output layer for a binary classification task?
Sigmoid
Softmax
ReLU
Question 3
Which loss function corresponds directly to a binary classification problem using a Sigmoid output?
Binary Cross Entropy Loss (BCE)
Mean Squared Error (MSE)
Cross Entropy Loss
Challenge: Designing the Core Architecture
Integrating architectural components for non-linear learning.
You must build a nn.Module for the two-moons task. Input features: 2. Output classes: 1 (probability).
Step 1
Describe the flow of computation for a single hidden layer in this DNN.
Solution:
Input $\to$ Linear Layer (Weight Matrix) $\to$ ReLU Activation $\to$ Output to Next Layer.
Step 2
What must the final layer size be if the input shape is $(N, 2)$ and we use BCE loss?
Solution:
The output layer must have size $(N, 1)$ to produce a single probability score per sample, matching the label shape.